package org.example.projecttwo.entity.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户删除信息表
 * </p>
 *
 * @author nn
 * @since 2025-11-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user_deleted")
@Schema(description="用户删除信息表")
public class UserDeleted implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "删除ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "用户ID")
    @TableField("user_id")
    private Long userId;

    @Schema(description = "用户名")
    @TableField("username")
    private String username;

    @Schema(description = "删除原因(1-内容违规 2-账号异常 3-其他)")
    @TableField("delete_reason")
    private Integer deleteReason;

    @Schema(description = "删除备注")
    @TableField("delete_remark")
    private String deleteRemark;

    @Schema(description = "删除时间")
    @TableField("deleted_time")
    private LocalDateTime deletedTime;

    @Schema(description = "还原截止时间")
    @TableField("restore_deadline")
    private LocalDateTime restoreDeadline;

    @Schema(description = "删除操作人ID")
    @TableField("deleted_by")
    private Long deletedBy;

    @Schema(description = "操作人昵称")
    @TableField("operator_nickname")
    private String operatorNickname;


}